//--------------------------------------------------------------------------------------------------------
// 
// Author: Zachary Gay
// Date: 8/23/2012
// Copyright (c) 2012 Zachary Gay.  All Rights Reserved.
//
// Filename: ManaProducer.m
//
//--------------------------------------------------------------------------------------------------------

#import "ManaProducer.h"

#import "GameController.h"

// Private Interface
@interface ManaProducer ()
{
    BOOL isALand;
}

@end



@implementation ManaProducer

@synthesize manaProducingAbilities;

#pragma mark - Constructor

- (ManaProducer *) initWithManaCostOrNil:(ManaGroup *)_manaCost 
                  manaProducingAbilities:(NSArray *)_manaProducingAbilities 
                  andTappableOnFirstTurn:(BOOL)_tappableOnFirstTurn
{
    if (self = [super initWithManaCost: _manaCost])
    {
        self.manaProducingAbilities = _manaProducingAbilities;
        
        if (_manaCost == nil)
        {
            isALand = YES;
        }
        else 
        {
            isALand = NO;
        }
        
        // Cards that aren't useable on the first turn (whether it be for summoning sickness or some other reason)
        // just come into play tapped.
        if (_tappableOnFirstTurn)
        {
            tappableOnFirstTurn = YES;
        }
        else 
        {
            tappableOnFirstTurn = NO;
        }
    }
    
    return self;
}

#pragma mark - Mana Production Methods

- (void) produceMana
{
    // This method needs to be able to produce lots of different kinds of mana and have them all be tied back to this manaProducer.
    // That way, when the gameController begins trying to play cards, it will know to "tap" this card if needed after using its ability.
}

@end
